package com.edu.d5_extends;

public class Test2 {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.run();//子类的方法，就近原则
        Animal animal = new Animal();
        System.out.println(animal.name);
        System.out.println(dog.name);
        dog.detail();
    }
}
class Animal {
    /**
     * 父类
     */
    String name="孙悟空";
    public void run(){
        System.out.println("你是什么动物");
    }
    /**
     * 方法的重写
     */
    public void detail(){
        System.out.println("可以游泳~~");
    }

}
class Dog extends Animal{
    /**
     * 子类
     */
    String name="猪八戒";
    @Override//重写的注解————作用：1、重写方法的检验，如果重写方法不正确（方法名不一致，形参列表不一致等）,注解会爆红
    //2、可读性增强，代码优雅，别人一看到这个标志就知道是重写
    public void run(){
        System.out.println("狗跑的贼快~~");
        System.out.println(super.name);//父类的名字,super只能在子类当中用
        System.out.println();
    }
    /**
     * 方法的重写
     */
    public void detail(){
        super.detail();//继承父类已有的方法，再加上自己的方法
        System.out.println("可以飞");
    }
}